package com.jxtc.enterprise.merchant.dto.order_manage;

import lombok.Data;

/**
 * DTO 定义思路(供参考)
 * 1. 每个sql查询使用各自的DTO类来接收查询结果
 * 2. 将DTO 类按照 所服务的功能所在的页面，分拆到不同 package 中，便于管理和代码阅读时，快速根据页面找到DTO类
 * 3. 功能实现或后期迭代开发中，会不停地新增功能，导致需要不断的新增DTO 类，同一个功能，后续扩展功能时，即使之前的DTO 类可以通过扩充字段复用，也尽量不要修改以前的DTO类，
 *    随着代码的不断增多，对之前代码的修改引入bug的风险很大；虽然 不复用已有的DTO 类会导致 “堆代码”问题，导致代码臃肿，但是只要 堆的很整齐，有足够的代码注释加以说明，可以规避扩展的功能对已有功能引入bug，后期维护上是很有价值的
 *
 *
 * 订单信息中，店铺相关的信息，比如 订单所属店铺id，店铺名称，给店铺的费用
 * 一个订单可以包含多个菜品，每个菜品可以来自不同店铺，因此返回的店铺名称极少数情况下是逗号分隔的多个店铺名，大多数情况下都是单个店铺的名称
 */
@Data
public class StoreInfoForOrderDTO {

    private String orderId;

    private String storeName;

    /**
     * 某份订单应该支付给商家的总价格，一份订单可能包含多个菜品，单位为：分
     */
    private Integer payForMerchant;


    public StoreInfoForOrderDTO() {
        this.orderId = "null-orderId";
        this.storeName = "null-storeName";
        this.payForMerchant = 0;
    }

    public StoreInfoForOrderDTO(String orderId, String storeName, Integer payForMerchant) {
        this.orderId = orderId;
        this.storeName = storeName;
        this.payForMerchant = payForMerchant;
    }
}
